home *** CD-ROM | disk | FTP | other *** search
- head 1.2;
- branch ;
- access ;
- symbols ;
- locks elm:1.2; strict;
- comment @ * @;
-
-
- 1.2
- date 92.07.06.14.40.39; author elm; state Exp;
- branches ;
- next 1.1;
-
- 1.1
- date 92.06.30.12.41.32; author elm; state Exp;
- branches ;
- next ;
-
-
- desc
- @Include file for using the network HPPI code. This allows other modules
- to access the connection-based HPPI stuff.
- @
-
-
- 1.2
- log
- @Fixed up interface structures, and added declarations of externally
- visible routines.
- @
- text
- @
- /***********************************************************************
- *
- * netHppi.h
- *
- * The include file for other modules to use the HPPI network
- * routines.
- *
- * Copyright 1991 Regents of the University of California
- * Permission to use, copy, modify, and distribute this
- * software and its documentation for any purpose and without
- * fee is hereby granted, provided that the above copyright
- * notice appear in all copies. The University of California
- * makes no representations about the suitability of this
- * software for any purpose. It is provided "as is" without
- * express or implied warranty.
- *
- * $Header: /sprite/src/lib/include/RCS/netHppi.h,v 1.1 92/06/30 12:41:32 elm Exp Locker: elm $
- *
- ***********************************************************************
- */
-
- #ifndef _NETHPPI
- #define _NETHPPI
-
- #include <sprite.h>
- #include <list.h>
- #include "net.h"
- #include "netTypes.h"
- #include "netUltra.h"
-
- /*
- * A callback routine for HPPI stuff.
- */
- typedef void (*Net_HppiCallback)();
-
- /*
- * Single scatter-gather element.
- */
- typedef struct Net_HppiSGElem {
- Address addr;
- int length;
- } Net_HppiSGElem;
-
- /*
- * This structure is passed between the HPPI module and higher-level
- * software. It contains all the connection information that lower
- * and higher level modules should share.
- */
- typedef struct Net_HppiConnection {
- Net_Interface* interPtr; /* network interface to use */
- unsigned int connectionId; /* OUT: connection identifier */
- unsigned int flags; /* flags for connection */
- ReturnStatus status; /* OUT: connection status */
- ClientData userData;
- Net_HppiCallback callbackProc;
- Net_UltraAddress destAddress; /* HPPI address to connect to */
- unsigned int outstandingRecvs; /* max # of outstanding requests */
- unsigned int outstandingSends; /* (for send & receive) */
- } Net_HppiConnection;
-
- /*
- * This structure describes a single transfer over the HPPI. There
- * will be many of these per connection, and there may be several
- * outstanding at once.
- */
- typedef struct Net_HppiDataRequest {
- List_Links links;
- Net_Interface* interPtr; /* interface request belongs to */
- unsigned int connectionId; /* connection data should go on */
- unsigned int flags; /* flags for request */
- unsigned int status; /* OUT: status of connection */
- ClientData userData;
- Net_HppiCallback callbackProc;
- unsigned int xferSize; /* total size of transfer */
- unsigned int xferOffset; /* offset of first byte within conn */
- unsigned int sgSize; /* # of elements in following array */
- Net_HppiSGElem sg[1]; /* scatter-gather array */
- } Net_HppiDataRequest;
-
- #define NET_HPPI_DATA_LAST_SEND 0x1 /* last send in message */
-
- extern ReturnStatus Net_HppiConnectionListen _ARGS_((Net_HppiConnection*
- connStatusPtr));
- extern ReturnStatus Net_HppiReceiveData _ARGS_
- ((Net_HppiConnection* connPtr,
- Net_HppiDataRequest* dataReqPtr));
- extern ReturnStatus Net_HppiSendData _ARGS_((Net_HppiConnection* connPtr,
- Net_HppiDataRequest* dataReqPtr));
- extern ReturnStatus Net_HppiConnectionClose _ARGS_((Net_HppiConnection*
- connPtr));
-
- #endif /* _NETHPPI */
- @
-
-
- 1.1
- log
- @Initial revision
- @
- text
- @d1 1
- d18 2
- a22 4
- #ifndef lint
- static char rcsid[] = "$Header: Locker:$";
- #endif /* not lint */
-
- d54 1
- d58 2
- a59 2
- unsigned int outstandingReads; /* max # of outstanding requests */
- unsigned int outstandingWrites; /* (for read & write) */
- d72 1
- a76 1
- unsigned int status; /* OUT: status of connection */
- d82 10
- @
-